package com.zhl.spark.core.rddtransform

import com.zhl.spark.core.BasicRdd

/**
 * @program: demos
 * @description: ${description}
 * @author: 刘振华
 * @create: 2020-12-01 10:56
 **/
object glomRdd extends BasicRdd {
    def main(args: Array[String]): Unit = {
        test()
    }

    override def logic(): Unit = {
        val rdd = sc.makeRDD(List(1,2,3,4),2)
        //第一种方式，mappartitions
//        println(rdd.mapPartitions(
//            ite => {
//                Iterator(ite.max)
//            }
//        ).collect().sum)
        //第二种方式，glom
//        println(rdd.glom().map(
//            array => {
//                array.max
//            }
//        ).collect().sum)
        println(rdd.glom().map(_.max).collect().sum)
    }
}
